package com.zb.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zb.entity.ZjUserTypeKnowledgeType;
import com.zb.extend.UserTypeKnowledgeTypeExtend;
import com.zb.result.PageUtil;
import com.zb.vo.UserKnowledgeTypeVo;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 用户分类知识库分类关联表 服务类
 * </p>
 *
 * @author WEN
 * @since 2023-11-14
 */
public interface ZjUserTypeKnowledgeTypeService extends IService<ZjUserTypeKnowledgeType> {

    /**
     * 修改用户知识库权限
     * @param custAccId 商家ID
     * @param userTypeId 用户分类ID
     * @param userKnowledgeTypeVo 知识库分类对象
     */
    void save(Long custAccId, Long userTypeId, UserKnowledgeTypeVo userKnowledgeTypeVo);

    /**
     * 根据客户分类ID获取知识库信息
     * @param userTypeIds 客户分类ID
     * @return
     */
    List<UserTypeKnowledgeTypeExtend> getByUserTypeIds(List<Long> userTypeIds);

    /**
     * 根据知识库分类ID获取客户分类
     * @param knowledgeTypeIds 知识库分类ID
     * @return
     */
    List<UserTypeKnowledgeTypeExtend> getByKnowledgeTypeIds(List<Long> knowledgeTypeIds);

    /**
     * 根据客户分类ID获取知识库类型权限列表
     * @param userTypeId 客户分类ID
     * @param pageUtil 分页对象
     * @return
     */
    Map<String, Object> getList(Long userTypeId, PageUtil pageUtil);

    /**
     * 获取移动端客户故障分类列表
     * @param userId 客户ID
     * @param pageUtil 分页对象
     * @return
     */
    Map<String, Object> getUserMobileknowledgeTypeList(Long userId, PageUtil pageUtil);
}
